草庐IT

python - RabbitMQ 消息丢失

全部标签

python - 具有 XPath 支持的快速 python XML 验证器

我需要读取一个大型XML(65Mb),根据xsd对其进行验证,然后对其运行XPath查询。下面,我给出了它的lxml版本。运行查询需要很多时间(超过5分钟),但验证似乎非常快。我有几个问题。注重性能的Python程序员将如何使用lxml编写程序?其次,如果lxml不适合这项工作,还有什么?你能提供一个代码片段吗?importsysfromdatetimeimportdatetimefromlxmlimportetreestart=datetime.now()schema_file=open("library.xsd")schema=etree.XMLSchema(file=schema

python - 是否可以获取 XSD 中定义的 XML 节点类型?

我正在用Python解析XML。我有一个XSD架构来验证XML。我能否获得XSD中定义的XML特定节点的类型?比如我的XML(小部分)是РусскийEnglish我的XSD是(又是其中的一小部分):在解析期间,我想知道我的标记wakeupNote在XSD中定义为complexTypezwv:description。如何做到这一点(在Python中)?我需要这个做什么?假设我有很多这样的XML,我想检查它们是否都有填充英语的字段。很容易检查为空,但允许完全不指定此标签。所以想法是获取所有可能具有语言描述的标签并检查标签存在并且具有非空内容en。更新因为在验证期间我的XML是根据XSD检

python - 如何在 Python 中验证具有多个命名空间的 XML?

我正在尝试在Python2.7中编写一些单元测试以验证我对OAI-PMH模式所做的一些扩展:http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd我遇到的问题是具有多个嵌套namespace的业务是由上述XSD中的此规范引起的:MetadatamustbeexpressedinXMLthatcomplieswithanotherXMLSchema(namespace=#other).Metadatamustbeexplicitlyqualifiedintheresponse.这是我正在使用的代码片段:importlxml.etree,urllib

xml - 优雅地处理 Umbraco XSLT 宏中丢失的 XML 提要

我正在尝试使用Umbraco中的XSLT宏读取XML提要,并让它以良好的格式显示内容。当提要可用时,我的宏工作正常,但如果提要返回404,我无法设法让XSLT妥善处理它。我正在使用umbraco.library:GetXmlDocumentByUrl()获取XML我发现它正在创建一个解析错误,有时它只是使站点崩溃而不是返回我指定的错误文本。我还尝试将GetXmlDocumentByUrl()包装在document()测试中,看看我是否可以使用它来更好地处理错误。我发现虽然这会阻止网站崩溃,并且在XML提要存在的情况下也能正常工作,但它仍然会产生解析错误而不是显示我的错误文本。如果有任何

python - 删除 lxml 中的所有命名空间?

我正在使用python中的lxml库处理一些谷歌的数据API。命名空间在这里是一个巨大的麻烦。对于我正在做的很多工作(主要是xpath的东西),直接忽略它们会很好。有没有一种简单的方法可以忽略python/lxml中的xml命名空间?谢谢! 最佳答案 如果您想从元素和属性中删除所有命名空间,我建议使用下面显示的代码。上下文:在我的应用程序中,我正在获取SOAP响应流的XML表示,但我对在客户端构建对象不感兴趣;我只对XML表示本身感兴趣。此外,我对任何命名空间的事情都不感兴趣,这只会让事情变得比我需要的更复杂,就我的目的而言。因此,

.net - XML 序列化丢失命名空间

我有如下CRM实体XML消息:....SomethingHere...然后我将它反序列化为一个对象并序列化回xml我明白了SomethingHere...我松开了xmlns:b的定义。知道为什么吗? 最佳答案 四十二是正确的:属性值不携带任何默认语义,因此xml处理器无法识别命名空间的使用。如果你想在你的i:type属性中引用一些b数据,你可以使用一个映射元素来关联c:value带有(假设的)b:value,即:..................您可以在其中将_:ref声明为相应xml模式中的IDREF属性。您可能需要调整1:n-

python - 如何反序列化由 to_xml() 在 google appengine 中创建的 xml

在GoogleAppEngine中,我可以通过调用对象的to_xml()方法来序列化对象。似乎没有等效的from_xml()方法来反序列化xml。是否有一种有效的方法来反序列化回对象? 最佳答案 澄清一下,我将假设您询问的是Model.to_xml()方法,而高效是指您可以调用的单一方法,它将为您提供模型对象。正如您所指出的,数据存储API的模型类中没有这样的方法。我认为toXML方法的目的是使模型易于导出到另一个应用程序,例如javascript客户端或导入到另一个数据库或存储机制,类似于使用远程API。应该可以创建一个特定模型类

python - IronPython 和 xml.etree.ElementTree 非法字符错误

我正在尝试使用xml.etree.ElementTree.parse()读取包含utf8字符的XML文件。当使用常规python(2.7.4)解释器运行代码时,它工作正常并且我没有收到任何错误,但是当我尝试使用IronPython运行相同的代码时,我得到一个Syntaxerroratline18:illegalcharacterincontent错误。我还尝试先使用codecs.open("file.xml","r","utf-8")打开文件,但收到以下错误Illegalcharactersinpath如何修复IronPython中的这个错误?可以使用替代的xml解析器,但我更喜欢在x

python - 'ascii' 编解码器无法解码位置 5367 : ordinal not in range(128) 中的字节 0xe2

Django1.6.1python3.2.3Apache2.2.2Ubuntu12.04Postgres9.1.11我在尝试导入序列化XML文件时遇到此错误。我从我用于开发服务器的一个数据库导出它,片刻之后我将它导入另一个开发服务器(在同一台机器上)上的另一个数据库。我很困惑为什么它不处理导入时的UTF-8字符。我没有做任何特别的事情。另外,在我上次测试时,相同的代码也有效。这是我在应用程序的views.py...中用于导出和导入的代码fromdjango.shortcutsimportrender,render_to_response,get_object_or_404fromdja

c# - 使用自定义 XSLT 将 XML 转换为 JSON 会丢失大括号

我有一个.NET库,它使用XSLT文件将beerxml文件转换为json以用于Web应用程序。XSLT文件看起来很像这样:{{"description":{"name":"","style":"",...我正在使用c#中的这段代码进行转换:using(varwriter=newStringWriter()){_xsltCompiler.Transform(_document,null,writer);json=writer.ToString();}现在,问题是输出中缺少花括号和空格。它曾经有效。从源代码控制历史中,我最近看不到明显的变化。有关如何解决此问题的任何建议?